package pl.elka.pszt.utils;

/**
 * Pomocnicza klasa do wypisywania komunikatow na konsoli.
 * 
 * @author Andrzej Makarewicz
 * 
 */
public class Log {
	
	private Log() {}
	
	/**
	 * 
	 * @return czy jest wlaczone logowanie
	 */
	public static boolean isLoggable() {
		return false;
	}
	
	/**
	 * Wyswietla na standardowym wyjsciu
	 * @param tag
	 * @param message
	 */
	public static void o(String tag, String message) {
		if (isLoggable()) {
			System.out.println(String.format("%-30s %s", tag, message));
		}
	}
	
	/**
	 * Wyswietla na standardowym wyjsciu
	 * @param message
	 */
	public static void o(String message) {
		System.out.println(message);
	}
	
	/**
	 * Wyswietla na error wyjsciu
	 * @param tag
	 * @param message
	 */
	public static void e(String tag, String message) {
		if (isLoggable()) {
			System.err.println(String.format("%-30s %s", tag, message));
		}
	}
	
	/**
	 * Wyswietla na error wyjsciu
	 * @param message
	 */
	public static void e(String message) {
		System.err.println(message);
	}
	
	/**
	 * 
	 * @return nazwa metody z ktorej jest wolana
	 */
	public static String getCurrentMethodName() {
		StackTraceElement[] stackTraceElements = Thread.currentThread()
				.getStackTrace();
		
		return String.format("%s() ", stackTraceElements[2].getMethodName());
	}
}
